import api from '../../../api/index';
import dayjs from '../../../plugin/dayjs/index';
import daysbefore from '../../../plugin/daysbefore';

// 时间格式化
function formatTime(date = new Date()) {
	return dayjs(date).format('YYYY-MM-DD HH:mm:ss');
}
function formatTime2(date = new Date()) {
	return dayjs(date).format('YYYY-MM-DD');
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    newdaytime: null,
    pageNum: 0,
		pageSize: 20,
		noMor: false,
		noData: false,
    linedata: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
			newdaytime: formatTime2()
    });
    this.setData({
			pageNum: 0,
			pageSize: 20,
		});
    this.gethistrorylist();
  },
  gethistrorylist() {
    const actions = {
			data: {
        begindate: daysbefore.daysbefore(100),
        enddate: formatTime2(),
        itemcode: 'XYZBXY001007',
        typecode: 'hxfatmeter',
        everyday: false
      },
			head: {
				firstresult: this.data.pageNum,
        maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		api
			.post('/api/hxhealth/exams/records', actions)
			.then((res) => {
				// console.log(res);
				console.log('----历史数据----', res);
        if (res.length == 0) { //请求的数据为空，没有数据
          if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
            this.setData({
              noData: true,
            })
          } else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
            this.setData({
              noMor: true,
              pageNum: 0
            })
          }
        } else {  // 请求的结果有数据
          const dataList = [...this.data.linedata, ...res]
          for (let index = 0; index < dataList.length; index++) {
            const element = dataList[index].devices[0].items;
            dataList[index].time_part = dataList[index].createtime.slice(11,16);
            var nums = element
            for (let j = 0; j < nums.length; j++) {
              if (nums[j].code == 'XYZBXY001001') {
                dataList[index].devices[0].items[j].value = parseFloat(nums[j].value).toFixed(1)
              }
              if (nums[j].code == 'lk1590141731679') {
                dataList[index].devices[0].items[j].value = parseFloat(nums[j].value).toFixed(1)
              }
            }   
          }
          if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
            this.setData({
              linedata: dataList,
              noMor: false,
              noData: false
            })
          } else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
            this.setData({
              linedata: dataList,
              noMor: true,
              noData: false
            })
          }
        }
			});
	},
	handlerTo(e) {
		console.log(e);
		const id = e.currentTarget.dataset.id
		wx.navigateTo({ url: `/weightManagement/pages/desc/index?examid=${id}` });
	},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // wx.stopPullDownRefresh
    this.setData({
      linedata: [],
      noMor: false,
      noData: false,
			pageNum: 0,
			pageSize: 20,
		});
    this.gethistrorylist();
  },

  /**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {
		if ((this.data.pageNum + 1) * this.data.pageSize == this.data.linedata.length) { 
		// 数据列表的数量刚好等于页数*每页条数，可以请求下一页
			this.setData({
				pageNum: this.data.pageNum + 1, // 一般上拉触底是为了加载更多分页数据，所以这里页数自增
			});
			// 查询列表方法
			this.gethistrorylist(); 
		} else { 
		// 数据列表的数量不等于页数*每页条数，说明当前页数据不足10条，已经没有更多数据了
			this.setData({
				noMor: true  // 这里在页面最底部显示一排文字，没有更多数据了
			})
		}
	},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})